EAMxx: Stub out water_isotope and water_tracer process registrations#8505
EAMxx: Stub out water_isotope and water_tracer process registrations#8505rfiorella wants to merge 4 commits into
Conversation
Add infrastructure for water-tracer and isotope tracking: - Register WaterTracers and WaterIsotopes process types - Add CMake build rules and process factory integration - Create stub process interfaces with identity tendencies - Add namelist defaults for tracer_count configuration Part of water isotope infrastructure campaign (spec 001).
|
|
very minor piece of feedback: we might expect people wanting random tracers of all sorts of types, and so I would generalize the dir housing them all: instead of components/eamxx/src/physics/water_tracers, I would call them "aux_tracers" or something like additional_tracers to indicate these are not "core" model/physics tracers additionally, I would consider add a subfolder for each class or even each tracer so: or if you foresee these tracers sharing core features, they can inherit from each other or they can share some utils etc |
|
Thanks @mahf708, that seems reasonable. I'll start with just the one subfolder for now - the "passive/semi-passive" (water tracers where all the accounting is just around phase changes) and "semi-reactive to reactive" (e.g., chemistry) breakdown makes a lot of sense to me though. Also would allow longer term common infra to exist in the top-level I'm out of office next week. I'll try to clean this up based on suggestions if I get a few moments, but more than likely I'll get it done soon after I'm back so that this one doesn't have to stick in the queue for an extended period. |
Move water tracer and isotope processes from physics/water_tracers/
to physics/aux_tracers/{water_tracers,water_isotopes}/ with separate
libraries per process. Water isotopes depend on and extend water tracers.
- Add aux_tracers/CMakeLists.txt with EAMXX_ENABLE_WATER_TRACERS and
EAMXX_ENABLE_WATER_ISOTOPES options (both default OFF)
- Enforce dependency: isotopes require tracers
- Create separate water_tracers and water_isotopes libraries
- Update register_physics.hpp include paths
- Use full include path in water_isotopes header for robustness
|
@mahf708 updated this PR based on your suggestions. As for CI, could one of the Sandians add me to this runner? Or would you suggest a different testing structure for ES projects? @bartgol @tcclevenger |
In order to be added to the gh team that can trigger CI runs on SNL-hosted runners, you must have a SNL account, with access granted to the physical machines where the (ephemeral) runners are spawned. We can of course start the paperwork for that, but I would consider first if it's worth the hassle. Are you planning on contributing several PRs and need CI with a quick turnaround? If not, then you can just ping one of the snl-testing group folks and ask to set the |
|
@bartgol There will be several PRs, but I don't think they'll require immediate CI if you'd prefer to manage this through labels. My interest in running the CI jobs earlier was mostly to try to get the PRs as clean as possible before anyone has to review them. |
Add build-time infra for water tracer/isotopes:
src/physics/aux_tracers/{water_tracers,water_isotopes}(per @mahf708 suggestion)Ref #8504